package com.ztgf.commodity.models.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ztgf.commodity.models.bo.CategoryShieldBrandRelationBO;
import com.ztgf.commodity.models.bo.CategoryShieldBrandRelationSaveBO;
import com.ztgf.commodity.models.dto.CategoryShieldBrandRelationDTO;
import com.ztgf.commodity.models.vo.CategoryShieldBrandRelationVO;
import com.ztgf.commodity.models.vo.ShieldBrandParentVO;

/**
 * 分类盾构品牌关系表服务
 *
 * @author chenyu.wang
 * @Date 2020-06-02 15:11:41
 */
public interface ICategoryShieldBrandRelationService extends IService<CategoryShieldBrandRelationDTO> {

    /**
     * description: 添加
     * param: [saveBO]
     * author: chenyu.wang
     * date: 2020-06-02
     * return: boolean
     */
    boolean add(CategoryShieldBrandRelationSaveBO saveBO);

    /**
     * description: 类目盾构品牌关系列表
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-06-02
     * return: java.util.List<com.ztgf.commodity.models.vo.CategoryShieldBrandRelationVO>
     */
    Page<CategoryShieldBrandRelationVO> queryShieldBrandRelationshipList(CategoryShieldBrandRelationBO bo);

    /**
     * description: 根据分类顶级id查询关系盾构品牌
     * param: [id] 顶级分类id
     * author: chenyu.wang
     * date: 2020-06-05
     * return: java.util.List<com.ztgf.commodity.models.vo.ShieldBrandVO>
     */
    ShieldBrandParentVO queryShieldBrands(Long id);

    /**
     * description: 根据类目id删除
     * param: [categoryId]
     * author: chenyu.wang
     * date: 2020-07-29
     * return: boolean
     */
    boolean deleteByCateoryId(Long categoryId);
}
